package org.purl.net.sparql.geo;

import org.purl.net.sparql.Functions;

import com.hp.hpl.jena.sparql.function.FunctionRegistry;

/**
 * Utility class for manipulating the geo function library. Primary use 
 * is to register them with the ARQ runtime.
 * 
 * @author ldodds
 */
public class GeoFunctions {
	
	public static final String BASE_URI = Functions.BASE_URI + "/geo#";
	
	/**
	 * Register the functions with the ARQ engine, so that they can 
	 * be referenced via URI
	 */
	public static void register() {
		
		FunctionRegistry registry = FunctionRegistry.get();
		registry.put(BASE_URI + "distance-georss" , DistanceGeoRSS.class);
		registry.put("http://example.org/function#distance", Distance.class);
		registry.put("http://example.org/function#point-in-box", PointInBoundingBox.class) ;
	}
}
